// pages/index/training/index.js
import {getTrainingsList} from '../../../api/training';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    trainingList: [
     
    ],
    pageNo : 1,
    pageSize : 10,
    loading: false,
    noMoreData: false,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(1)
    this.loadMoreData()
  },

  onReachBottom() {
    this.loadMoreData()
  },

  // 异步加载数据
  async loadMoreData() {
    // 防止重复加载和无更多数据时继续加载
    if (this.data.loading || this.data.noMoreData) return;

    // 设置加载状态
    this.setData({ loading: true });

    try {
      // 获取新数据
      const newItems = await this.getListData();
      if (newItems.length === 0) {
        // 如果没有数据，标记无更多数据
        this.setData({ noMoreData: true });
      } else {
        // 将新数据追加到现有列表中
        this.setData({
          trainingList: [...this.data.trainingList, ...newItems],
          pageNo: this.data.pageNo + 1, // 页码递增
        });
      }
    } catch (error) {
      console.error('加载更多数据失败:', error);
    } finally {
      // 关闭加载状态
      this.setData({ loading: false });
    }
  },

  //获取数据
  async getListData() {
    try {
      // 调用接口获取数据
      const response = await getTrainingsList({
        pageSize: this.data.pageSize,   
        pageNo: this.data.pageNo, 
      });
      if (response && response.data && response.data.list) {
        return response.data.list; // 返回数据列表
      } else {
        throw new Error('数据格式错误');
      }
    } catch (error) {
      return []; // 返回空数组，避免后续逻辑错误
    }
  },



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },



  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})